package model.common.namespace;

import java.util.List;

import model.common.constraint.Constraint;
import model.packages.PackageImport;
import model.packages.PackageableElement;

/** A Namespace provides a container for NamedElements, which are called its ownedMembers . A Namespace may also import
NamedElements from other Namespaces, in which case these, along with the ownedMembers , are members of the importing
Namespace. If a member of a Namespace with the name N is a NamedElement with the name x, then the member can be referred to
by a qualified name of the form N::x. */
public abstract class NameSpace extends NamedElement {

	public NameSpace(String name, String pathName, VisibilityKind visibility,
			String separator) {
		super(name, pathName, visibility, separator);
		// TODO Auto-generated constructor stub
	}

	private List<NamedElement> members;
	
	private List<NamedElement> ownedMembers;
	
	private List<PackageableElement> importedMember;
	
	private List<ElementImport> elementsImport;
	
	private List<PackageImport> packagesImport;
	
	private List<Constraint> ownedRules;
	
}
